home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 3
/
Cream of the Crop 3.iso
/
bbs
/
zen200.zip
/
ZENLIST.DOC
< prev
next >
Wrap
Text File
|
1993-11-01
|
61KB
|
1,626 lines
@@@@@@ @@@@@@ @@ @@ @@ @@ @@@@ @@@@@@
@@ @@ @@@ @@ @@ @@ @@ @@
@@ @@@@ @@@@@@ @@ @@ @@@@ @@
@@ @@ @@ @@@ @@ @@ @@ @@
@@@@@@ @@@@@@ @@ @@ @@@@@@ @@ @@@@@ @@ (tm)
-+ The File List Processor for RemoteAccess 2.x +-
Copyright (C) 1993 Lee Muh Hwa. All Rights Reserved.
ZENLIST 2.00 User Documentation
November 1, 1993
───────────────────────────────────────────────────────────────
Table of Contents
═══════════════════════════════════════════════════════════════
1 Introduction . . . . . . . . . . . . . . . . . . . . . . 2
1.1 License and disclaimer . . . . . . . . . . . . . . 2
1.2 Registration . . . . . . . . . . . . . . . . . . . 3
1.3 System requirements . . . . . . . . . . . . . . . . 3
1.4 Product support . . . . . . . . . . . . . . . . . . 4
2 Installation . . . . . . . . . . . . . . . . . . . . . . 5
2.1 Files . . . . . . . . . . . . . . . . . . . . . . . 5
3 ZenSetup . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1 Getting started . . . . . . . . . . . . . . . . . . 6
3.2 ZenSetup keys . . . . . . . . . . . . . . . . . . . 6
3.3 Menus . . . . . . . . . . . . . . . . . . . . . . . 7
3.3.1 System information . . . . . . . . . . . . . 7
3.3.2 Paths and file names . . . . . . . . . . . . 7
3.3.3 Miscellaneous options . . . . . . . . . . . 9
3.3.4 File list manager . . . . . . . . . . . . 12
3.3.5 File database maintenance . . . . . . . . 14
3.3.6 FILES.BBS export options . . . . . . . . . 15
3.3.7 Import area definitions . . . . . . . . . 16
3.3.8 Export configuration . . . . . . . . . . . 17
3.3.9 About ZenList . . . . . . . . . . . . . . 17
3.3.10 Save current settings . . . . . . . . . . 17
3.3.11 Exit/quit ZenSetup . . . . . . . . . . . 17
4 Designing headers and footers . . . . . . . . . . . . 18
4.1 Using tokens in templates . . . . . . . . . . . . 18
4.2 List of tokens . . . . . . . . . . . . . . . . . 19
4.2.1 Header template . . . . . . . . . . . . . 19
4.2.2 Footer template . . . . . . . . . . . . . 19
4.2.3 Area header and footer templates . . . . . 20
5 File list format templating . . . . . . . . . . . . . 21
5.1 List of tokens . . . . . . . . . . . . . . . . . 21
6 File database header templating . . . . . . . . . . . 23
6.1 List of tokens . . . . . . . . . . . . . . . . . 23
6.2 Using color codes . . . . . . . . . . . . . . . . 23
7 Overview of ZenList's operations . . . . . . . . . . . 25
7.1 Tips on improving performance . . . . . . . . . . 26
7.2 Command line switches . . . . . . . . . . . . . . 26
8 Credits . . . . . . . . . . . . . . . . . . . . . . . 27
Page 1
───────────────────────────────────────────────────────────────
1. Introduction
═══════════════════════════════════════════════════════════════
ZenList is a file list and file database processor designed to
operate with RemoteAccess version 2.x. It is intended chiefly
to replace the RAFILE FILELIST function, giving you more
flexibility to customise so as to produce a file list unique to
your BBS. Below is a brief list of features:
- Easy to use setup interface
- All files list and new files list generation
- Configurable list headers and footers, as well as area
headers and footers
- Powerful file list format templating supported
- Various file name, file size and counter formats available
- Inserts customizable headers into RA's file database
- File database maintenance utility with optional file
description reformatting
- FILES.BBS export option supporting download counters and
multi-line descriptions
1.1 License and disclaimer
The ZenList software and its associated documentation,
hereafter referred to as ZenList, is the copywritten
material of Lee Muh Hwa. Your use of the program
automatically constitutes your agreement to the conditions
as set out in this license and disclaimer.
ZenList is not, and will never be, public domain. It is
not freeware. ZenList is distributed under the shareware
concept. You may use it for a trial period of 30 days
before registering by paying in full. If you do not
register the software after the evaluation period, you are
to cease using it.
Lee Muh Hwa is in no way obligated to provide future
versions of, or support for this software.
You are encouraged to distribute unregistered, unmodified
copies of ZenList provided no fee is charged, unless you
have been granted written consent from the author to do
otherwise.
ZenList is provided "as is" without warranty of any kind,
either expressed or implied, including, but not limited
to, the implied warranties of merchantability and fitness
for a particular purpose. The entire risk as to the
Page 2
quality and performance of ZenList is with you. Should
ZenList prove defective, you assume the cost of all
necessary servicing, repair or correction.
In no event will the author of ZenList be liable to you
for damages, including any lost profits, lost monies, or
other special, incidental or consequential damages arising
out of the use or inability to use ZenList. This
includes, but is not limited to, loss of data or data
being rendered inaccurate or losses sustained by third
parties or failure of ZenList to operate with any other
program.
1.2 Registration
By registering this version of ZenList, you are at the
same time registering all future versions if there are
any. You will also receive a personalized registration
code which will enable you to activate registered-only
features.
Registered versions of ZenList will identify itself with a
+ sign after the version number in file database headers
(e.g. ZenList 2.00+). Additionally, a registered notice
will be displayed in place of the unregistered message at
the end of file lists.
Please refer to ZENLIST.REG for additional registration
information.
1.3 System requirements
To use ZenList, you need to have at least an IBM AT
computer or 100% compatible with color adapter and hard
disk. ZenList executables uses 80286 instruction codes and
will therefore not run on XT-class computers. If you are
using an XT class computer, you may request a XT-version
from support sites.
You also need to be running under MS-DOS or PC-DOS 3.x or
later and RemoteAccess 2.x. As from version 2.00.g1,
RemoteAccess implemented the file database system which is
completely different from the old FILES.BBS format used in
version 1.x.
A disk caching program, especially one which supports
write-back buffer, can significantly improve performance.
However, the use of a disk cache is optional. It is not
Page 3
required for ZenList to run.
ZenList uses slightly more than 100k of conventional
memory to hold its own code. It still requires additional
memory to process file database areas. Memory usage
varies depending on the size of each file database area
and not on the size of the entire file database as a
whole. For instance, if the largest size of your fdb*.hdr
and fdb*.txt combined for one area is around 200k, ZenList
will need roughly 350k of conventional memory to run.
1.4 Product support
The latest releases of ZenList is always obtainable from
beta/support sites. Should you encounter any problems
when using ZenList, you may get technical help from any of
the beta/support sites. If you are in Fidonet, you may
wish to link up ZEN-HELP, the ZenList support echo. For
more information on the availability of the ZEN-HELP echo,
you may contact me or any of the beta/support sites listed
below:
ASIA
Lee Muh Hwa Patrick Lye
Alpha-32, Singapore Holiday Comms Mail Ctr
65-266-5974 v32b Zyx 65-348-3867 v32b
SINGAPORE SINGAPORE
Fidonet : 6:600/514 Fidonet 6:600/223
Teo Chee Kian
Interact BBS
65-581-7024/7026 v32b Zyx
SINGAPORE
Fidonet 6:600/601 & 602
NORTH AMERICA
David Casey Karen Maynor
Crossed Wires BBS The Dart Board
1-919-580-7194 v32b HST 1-912-673-7431 v32b HST
Dudley NC USA St Marys GA USA
Fidonet 1:3660/809 Fidonet 1:3640/5
Page 4
───────────────────────────────────────────────────────────────
2. Installation
═══════════════════════════════════════════════════════════════
Installing ZenList is easy. Just unpack the archive ZEN200.ARJ
into a separate directory of your choice, e.g. C:\RA\ZENLIST.
If you wish to use the sample header, footer and template files
provided in the archive, unpack SAMPLE.ARJ. Otherwise, you may
create your own header, footer and template files.
ZenList is now installed. Proceed to run ZENSETUP.EXE to
configure the various options to suit your needs.
2.1 Files
Included in the ZenList distribution archive are the
following files:
ZENLIST.EXE The main executable file for 80286 or
better processors. You will need to run
this in batch file during nightly
maintenance.
ZENSETUP.EXE The setup program. You need this to create
configuration files as well as to
customize various run-time parameters.
ZENLIST.DOC This documentation you are reading now.
ZENLIST.REG Registration form and information.
WHATSNEW.200 List of changes in ZenList since version 0.90ß.
README.1ST Release notes for this version.
SAMPLE.ARJ Archive containing sample header, footer
and template files.
FILE_ID.DIZ The ZenList archive description.
ZENSETUP.EXE will also create two configuration files used
by ZENLIST.EXE during run-time. They are:
SETUP.ZEN The main configuration file.
AREAS.ZEN File database area definitions imported
from FILES.RA.
Page 5
───────────────────────────────────────────────────────────────
3. ZenSetup
═══════════════════════════════════════════════════════════════
ZenSetup is the program used to configure ZenList. In other
words, through ZenSetup, you control the way ZenList is run.
3.1 Getting started
Change to the ZenList directory and run ZenSetup. If you
are using ZenSetup for the first time, it will prompt you
a message "SETUP.ZEN not found. Create one (Y/N)?". To
create SETUP.ZEN, just press "Y". SETUP.ZEN now holds the
default settings; you need to modify various settings
later to suit your system configuration.
Select "Paths and File Names" from the main menu and enter
the paths to your FILES.RA and file database in the first
and second rows respectively. Once you have done that,
you are ready to create the area definitions file,
AREAS.ZEN. Return to the main menu and select "Import Area
Definitions".
3.2 ZenSetup keys
The following keys can be used to get around in ZenSetup:
Up Arrow - Move selection bar to the previous option
Down Arrow - Move selection bar to the next option
Enter - Select option
ESC - Return to the previous menu (or exit to DOS
when in the main menu)
When editing a data field, the following editing keys are
available:
Left Arrow - Move cursor one character left
Right Arrow - Move cursor one character right
Home - Move cursor to the first position of the
field
End - Move cursor to the last position of the
field
Delete - Deletes the character at the current cursor
position
Backspace - Deletes the character left of the cursor
ESC - Abort editing; changes not saved
Insert - Toggle insert mode on/off
Page 6
When ZenList displays a list of areas for tagging, the
following movement keys are available:
Up arrow - Moves selection bar one position up
Down arrow - Moves selection bar one position down
PgUp - Moves selection bar to the top row. If the
bar is already at the top row, then previous
page will be displayed
PgDn - Moves selection bar to the bottom row. If
the bar is already at the bottom row, then
the next page will be displayed
Home - Moves selection bar to the first area
End - Moves selection bar to the last area
Additional keys are displayed on the status bar.
3.3 Menus
There are 10 top level menus. Each of the menu functions
are described in this section.
3.3.1 System information
Sysop name
This is the field used to generate your
registration code when you register. It also the
field inserted by %sn and !sn tokens in file lists
header and footer templates. The maximum length
of this field is 30 characters.
System name
This field is inserted by %bb and !bb tokens in
file lists header and footer templates. The
maximum length of this field is 30 characters.
Registration
Enter your registration code here. A registration
code will be given to you once you register
ZenList.
3.3.2 Paths and file names
System path
Page 7
The full path to your RemoteAccess system files.
ZenSetup will look for FILES.RA in the directory
as specified here. You need to define this field
before you can import area definitions from
FILES.RA.
FDB path
The full path to your RemoteAccess file database.
This path is usually located within your
RemoteAccess system directory as FILES.
Header tpl
The file name of the file database header
template. It is the header file to be inserted in
your file database.
When your users perform a file listing of your
directory, this header will be displayed before
the file listing. You can configure it to display
information such as area number and description,
number of files and size of the area. Refer to
the section on Header File Templating for more
details.
{+} Registered only. Unregistered versions default
to using the hardcoded header.
Filelist fmt
Define the file name of the default file format
template you wish to use for your all files list.
If this field is left out, ZenList will use the
default, hardcoded file list format. Please refer
to the section on File List Format Templating for
details on its use.
Newlist fmt
Similar to filelist fmt above, except that it is
applicable to new files list.
List header
Enter the file name of the default file list
header template you wish to include in the all
files list. This header will be used if no
alternate header is defined in list manager. List
headers will only appear once at the top of file
Page 8
lists. Please refer to chapter 7 on "Designing
headers and footers" for information on using this
template.
List footer
Similar to list header above, except that it is
applicable to file list footer template. List
footers will only appear once at the bottom of
file lists.
Area header
Enter the file name of the default area header
template you wish to include in the all files
list. Area headers will appear before every file
area is listed.
Area footer
Similar to area header above, except that is is
applicable to area footer template. Area footers
will appear at the end of every file area in file
lists.
Newlist hdr
Similar to list header, but applied to new files
list.
Newlist ftr
Similar to list footer, but applied to new files
list.
Newarea hdr
Similar to area header, but applied to new files
list.
Newarea ftr
Similar to area footer, but applied to new files
list.
3.3.3 Miscellaneous options
Filename format
Page 9
You can use any one of the 7 different kinds of
file name capitalization formats for your file
lists. They are:
FILENAME.EXT FILENAME.ext filename.EXT
Filename.EXT Filename.Ext Filename.ext
filename.ext
File date format
There are 9 different types of file dates format
for file lists:
mm-dd-yy dd-mm-yy mm/dd/yy
dd/mm/yy mm.dd.yy dd.mm.yy
ddmmmyy dd-mmm-yy dd-Mmm-yy
Header date format
Similar to file date format, but applied to the
system date (instead of file date) appearing in
file list headers and footers. The various
options are identical to those in file date
format.
Counter format
Select the download counter style for your file
lists. Counter style can be anything from 2
digits (minimum) to 4 digits (maximum). The
numbers are either enclosed by [ ], < > or ( ).
If the number of downloads exceed the number of
digits specified, the counter will be padded with
9's. In other words, if you are using the format
[00] and a file happens to be downloaded 100
times, the counter will appear as [99].
New file days
Specifies the number of days a file is treated as
new. Any number between 0 to 255 inclusive is
valid.
Tag new files
If set to YES, all new files within the number
days as specified by new file days will be tagged
in the all files list.
Page 10
Tag character
This is the character which is used to tag new
files.
Military time
When set to YES, ZenList will use the 24-hour
format for showing time. Otherwise, the 12-hour
format will be used. An example,
12-hour time format: 9:30 am, 11:30 pm etc.
24-hour time format: 09:30, 23:30 etc.
Use kilobytes
Toggles file size between kilobytes and bytes.
Values in kilobytes will always be suffixed with a
'k' (e.g. 1024k)
Show offline
Set this option to YES to include offline files in
your file list. Otherwise, all missing or offline
files will not be shown. ZenList will use the
offline flag in the file database to determine
whether the file is missing. It will not make a
physical search for the files. Any files marked
as deleted or unlisted will not be listed in any
case.
Multiline desc
When set to YES, long descriptions exceeding one
line will be word-wrapped. Otherwise, they will
be truncated.
Omit FDB header
If you wish to exclude file database headers from
your all files list, set this option to YES.
ZenList will always correctly distinguish comment
lines from headers inserted by itself. However,
it may fail to identify a header created by other
means. If such a case arises, you can set the
omit comments option to omit all kinds of headers
(including comment lines). Another alternative is
to ensure all headers consist of vertical and
horizontal line draw characters.
Page 11
Omit comments
Set this option to omit comment lines from your
all files list. Comment lines are always excluded
from new files list, regardless whether this
option is set or not.
Show file status
An optional, one-line status giving additional
file information can be appended after each file
entry in your all files list. If this option is
used, additional information such as uploader's
name, upload date and whether the file is free or
missing will be displayed.
This option applies only if you are using the
hardcoded file list format.
3.3.4 File lists manager
The file lists manager manages up to 8 all files lists
and 8 new files lists within one single configuration
file. You may use PgDn and PgUp keys to select
between the various sections.
All files list
The name of your all files list.
New files list
The name of your new files list. Leave this out
if you do not wish to generate one.
On request only
If this option is set to YES, this section will be
ignored during run-time. ZenList will only
process "on request only" areas when the /R switch
is specified on the command line. This is useful
for CD-ROM lists which only needs to be processed
once.
Max list security
This option defines the maximum list security that
will be allowed to appear in your file lists.
Areas having higher list security will be omitted
Page 12
from being listed even if they are tagged.
Areas to list
Here, you can tag the areas which you want listed
in the file lists as stated in all list name and
new list name. The sorting order for every area
can also be defined. Apart from no sorting, four
other different sort fields are supported either
in ascending or descending order:
Name - Sorts by file name.
NameAscii - Sorts by file name treating name
and extension as one ASCII string
such as the one used by RAFILE
SORT .
UploadDate - Sorts by date of upload.
Size - Sorts by file size.
The status bar at the bottom of the screen shows
the addition keys available for your use.
Alternate template files
ZenList allows you to define alternate template
files for each section in the file lists manager.
If omitted, the default file names given in the
paths and file names menu will be used.
All list format - alternate all files list
template
New list format - alternate new files list
template
All list header - alternate all files list
header template
All list footer - alternate all files list
footer template
All list area hdr - alternate all files list
area header template
All list area ftr - alternate all files list
area footer template
New list header - alternate new files list
header template
New list footer - alternate new files list
footer template
New list area hdr - alternate new files list
area header template
New list area ftr - alternate new files list
area footer template
Page 13
3.3.5 File database maintenance
ZenList provides a minor file database maintenance
utility relieving most users from the need of running
multiple passes of RAFILE to achieve similar results.
Rebuild Index
Rebuilds the file database quick index (fdb*.idx).
Trim description
Cleans off unused descriptions thus compacting the
description database (fdb*.txt). Each time you
modify file descriptions using RAMGR, the old
descriptions do not get overwritten. Instead,
your edited descriptions get appended to the end
of the description database thus making it larger.
Remove missing
Removes the entries for missing files from the
file database.
Remove deleted
Removes the entries marked as deleted from the
file database. If the actual files are present,
they will be deleted as well.
Insert FDB header
Inserts a header into every area of your file
database. ZenList will insert a hardcoded header
unless a template is defined in Header Tpl under
"paths and file names".
Flag as CD-ROM
This function enables you to toggle the CD-ROM
flag in AREAS.ZEN on or off. This is only useful
to those who do not want to set the CD-ROM flag in
FILES.RA.
Sort areas
Defines the order your file database is sorted.
The available sorting orders are similar to that
in "areas to list" under "list manager". The
status bar at the bottom of the screen shows
Page 14
additional keys for the functions.
File description reformatting
Remove spaces
This option tells ZenList to eliminate excess
spaces from your file descriptions. Two or more
spaces between words will be reduced to a single
space. However, this function does not affect
descriptions which consist of vertical or
horizontal line draw characters.
{+} Registered only.
Remove CR/LF/Hyph
If this option is used, CR/LF combination
appearing in descriptions will be replaced with a
space (effectively stripped). If there are
hyphenated words immediately before CR/LFs, the
hyphens also get removed. Hyphenated words are
converted to whole words as a result. As with the
previous, this function does not affect
descriptions which consist of vertical or
horizontal line draw characters.
{+} Registered only.
Areas to process
Select the areas in which file description
reformatting functions are active.
{+} Registered only.
3.3.6 FILES.BBS export options
Export FILES.BBS
Toggle FILES.BBS export on/off. If this option is
set to YES, FILES.BBS will be created in every
directory of your file areas. If the areas are in
CD-ROM, ZenList will export FILES.BBS in the
current directory where ZenList is started. The
naming convention used is FIL#####.BBS (e.g.
FIL1.BBS, FIL32452.BBS).
Include headers
Page 15
File database headers will be included in the
exported FILES.BBS if this is set to YES.
Include offline
Whether offline or missing files will be included
in the FILES.BBS.
Include comments
Whether to include comment lines in FILES.BBS.
Include counters
ZenList can optionally insert download counters in
FILES.BBS using the format as specified in
"counter type" below.
Counter type
The download counter format you wish to use for
FILES.BBS export. Please refer to "counter
format" under "miscellaneous options" for the
available counter types.
Multiline desc
If this option is set to YES, ZenList will
export multiple-line long descriptions
word-wrapped at the 79th column. Otherwise,
descriptions will be truncated at the 201st
character.
Desc Indent
The indent column for multi-line descriptions.
You may select any number between 30 to 50
inclusive.
3.3.7 Import area definitions
ZenList uses the areas information found in AREAS.ZEN
during run-time. Therefore, this selection has been
included to enable you to create/update area
definitions from FILES.RA. Every time you modify
FILES.RA, you need import area definitions in order
for ZenList to be aware of new or deleted areas.
Page 16
When "import area definitions" reports an error,
please check that you have given the path to FILES.RA
correctly in "paths and file names" under the main
menu.
3.3.8 Export configuration
Within this menu, you can export various ZenSetup
configurations to ASCII text files. This can be a
very useful tool when you need to troubleshoot your
setup. The various export options are listed below:
Export general configuration
Writes ZenSetup general configuration to a text
file.
Export list manager setup
Writes the File List Manager setup to a text file.
Export areas information
Lists information on all file areas to a text
file.
3.3.9 About ZenList
By selecting this option, you will see a small
window giving you some information about this release
of ZenList.
3.3.10 Save current settings
Writes changes back into the hard disk.
3.3.11 Exit/quit ZenSetup
Exits to DOS.
Page 17
───────────────────────────────────────────────────────────────
4. Designing Headers and Footers
═══════════════════════════════════════════════════════════════
ZenList allows you to completely customise your header and
footer files for your file lists. On start up, it will look
for the template files and if they are found, process them.
Otherwise, the headers or footers will not be included in your
file lists. You may include special tokens in your header and
footer templates to display variable information such as area
size or number of files in area etc.
4.1 Using Tokens in Templates
Tokens in templates are identified by a prefix of either a
'%','~' or '!'. '%' defines a string of variable length,
i.e., one which is as long as its characters will occupy.
'~' tells ZenList to replace the token with the character
that precede the '~'. The number of characters replaced
being equivalent to the length of the corresponding
variable-length string. This may not be immediately clear
to you, but let us look at the following example:
You may want to create an area header as such
┌───────────────────────┐
│ Area - Communications │
└───────────────────────┘
However, area description will more often vary in length.
In order to fit the border around the description (which
is not consistent in length), you can do this in your area
header template file:
┌────────~ad─┐
│ Area - %ad │
└────────~ad─┘
%ad is a variable-length string for area description. ~ad
will replace itself with the character ('─' in this case)
that precedes it immediately, the number of such
characters inserted being equal to the length of the area
description.
There is a third prefix '!'. This indicates a
fixed-length string. If the string does not occupy the
entire length, the rest will be padded with spaces.
Fixed-length strings can either be left justified,
right-justified or centered.
Page 18
4.2 List of tokens
The following is a list of tokens that can be inserted in
the respective template file. Please note that all tokens
are CASE SENSITIVE!
4.2.1 List header template
The list header template may not exceed 30 lines.
%bb - BBS Name
%sn - SysOp Name (YOUR name)
%sd - System Date
%st - System Time
'%' denotes string of variable length. Prefix '~'
with instead of '%' to pad characters.
!lb, !rb, !cb - BBS Name (30 characters)
!ls, !rs, !cs - SysOp Name (30 characters)
!ld, !rd, !cd - System Date (9 characters)
!lt, !rt, !ct - System Time (8 characters)
'!' denotes fixed-length string. Listed in order
of left justified, right justified and centered.
4.2.2 List footer template
The list footer template may not exceed 30 lines.
%bb - BBS Name
%sn - SysOp Name
%sd - System Date
%st - System Time
%tf - Total Files in All Areas
%tz - Total Size in All Areas
'%' denotes string of variable length. Prefix '~'
with instead of '%' to pad characters.
!lb, !rb, !cb - BBS Name (30 characters)
!ls, !rs, !cs - SysOp Name (30 characters)
!ld, !rd, !cd - System Date (9 characters)
!lt, !rt, !ct - System Time (8 characters)
!lf, !rf, !cf - Total Files in List (6 characters)
!lz, !rz, !cz - Total Size in List (12 characters)
'!' denotes fixed-length string. Listed in order
Page 19
of left justified, right justified and centered.
4.2.3 Area header and footer templates
The area header and footer template may not exceed
10 lines.
%af - Files in Area
%az - Size in Area
%ad - Area Description
%an - Area Number
'%' denotes string of variable length. Prefix with
'~' instead of '%' to pad characters.
!lf, !rf, !cf - Files in Area (6 characters)
!lz, !rz, !cz - Size in Area (12 characters)
!ln, !rn, !cn - Area Number (3 characters)
!ld, !rd, !cd - Area Description (30 characters)
'!' denotes fixed-length string. Listed in order
of left justified, right justified and centered.
Page 20
───────────────────────────────────────────────────────────────
5. File List Format Templating
═══════════════════════════════════════════════════════════════
ZenList allows you to design the look and feel of your file
lists through the use of a file list format template. Instead
of using the hardcoded file list format, templating allows
virtually unlimited ways in which your file list can be
presented. This is done through the use of tokens similar to
that in header/footer templating.
All tokens are either fixed-length or variable-length.
Fixed-length tokens will be indicated by the length of the
token string in parenthesis. You may assume that all other
tokens are variable in length. Other characters appearing
inside the template will be reproduced in your all files list.
The use of a template will slow down processing slightly
especially when your file list is large. Please note that
ZenList places an upper limit of 5 lines in your format
template file.
5.1 List of tokens
%fn - filename + extension (12 characters)
%fs - filesize
%ud - upload date
%fd - file date
%ld - last download date
%cs - cost of the file
%td - times downloaded; returns the number of times a
file was downloaded. The counter format used is
as specified in ZenSetup.
%st - attribute of the file (None, Free, NotAvail
and/or Missing) If the file attribute is free
and missing, %st will return: 'Free Missing'
(sans quotes). If not free, not available and
not missing, %st will return 'None'.
%sn - similar to %st, except that 'None' is not
displayed.
%tc - tag character (1 character); this token will
insert a tag character if the file is new.
Otherwise, it is inserts a space. NOTE: This
token is for all files list only!
%ds[nn] - description [length]; this token inserts the
description of the file. It MUST be the LAST
token to appear in any line of your template
file. An optional 2-digit number can be
Page 21
suffixed to the end of the token to specify the
maximum characters in every line of the
description. Please note that the last
character will not be allowed to exceed the 80th
column. If this 2-digit number is omitted,
ZenList will word wrap descriptions at the 79th
column.
Page 22
───────────────────────────────────────────────────────────────
6. File Database Header Templating
═══════════════════════════════════════════════════════════════
ZenList can insert headers into your file database (do not
confuse this header with the headers used in all files lists).
Such headers will be displayed before the on-line listing of
files when the user selects a directory listing. Similar to
File Format Templating, tokens are available for use.
File database header template files may not exceed 15 lines
(including blank lines).
6.1 List of tokens
%bb - BBS Name
%af - Files in Area
%az - Size in Area
%ad - Area Description
%an - Area Number
%k[nn] - Inserts ANSI color codes (see next section)
'%' denotes string of variable length. Prefix with '~'
instead of '%' to pad characters
!lb, !rb, !cb - BBS Name (30 characters)
!lf, !rf, !cf - Files in Area (6 characters)
!lz, !rz, !cz - Size in Area (12 characters)
!ln, !rn, !cn - Area Number (3 characters)
!ld, !rd, !cd - Area Description (30 characters)
'!' denotes fixed-length string. Listed in order of
left justified, right justified and centered.
6.2 Using color codes
ZenList supports ANSI color file database headers. This
is done through to use of %k[nn] token in the header
template. 'nn' is a 2 digit number representing
background and foreground colors respectively. Below is a
list of color codes:
Background Colors without blinking foreground
Description color code
───────────────────────────
Black 0
Blue 1
Green 2
Cyan 3
Page 23
Red 4
Magenta 5
Brown 6
Gray 7
Background colors with blinking foreground
Description Color code
───────────────────────────
Black 0
Blue 1
Green 2
Cyan 3
Red 4
Magenta 5
Brown 6
Gray 7
Foreground colors
Description Color code
───────────────────────────
Black 0
Blue 1
Green 2
Cyan 3
Red 4
Magenta 5
Brown 6
Gray 7
Dark Gray 8
Light Blue 9
Light Green A
Light Cyan B
Light Red C
Light Magenta D
Yellow E
White F
The use of ANSI color codes in file database headers has
its short-comings; users with non-ANSI terminals will see
a messed up header display. Fortunately now, most users
are using ANSI terminals but choosing ASCII display to
reduce transmission time. In these cases, such users will
still be able to see your ANSI headers. One important
point to note is to include a color code at the end of the
header to reset the display back to gray on black
background (%k07). Otherwise, ANSI colors will 'bleed'
the user's terminal screen.
Page 24
───────────────────────────────────────────────────────────────
7. Overview of ZenList's Operations
═══════════════════════════════════════════════════════════════
On start up, ZenList reads the configuration files SETUP.ZEN
and AREAS.ZEN in that order. In the first phase, tasks such
as file database maintenance and FILES.BBS export are processed
first. Depending on the options you have enabled, ZenList will
report the tasks that it is going to perform on screen. Here
is one example:
Available Memory : 407088 bytes
Processing File DataBase:
- Insert FDB headers
- Export Files.BBS
- Rebuild index files
- Trim description files
- Remove missing entries
- Remove deleted entries and files
In this way, you will be able to counter check if certain
options you wish enabled have been left out. 'Available
memory' indicates the amount of free conventional memory AFTER
ZenList has been loaded. It is the maximum memory available
to ZenList for processing the file database.
In this phase, all areas marked as CD-ROM areas will be
skipped. CD-ROM areas will not be processed unless the /D
switch is specified in the command line. ZenList uses the
CD-ROM flag in AREAS.ZEN to determine whether an area is in
CD-ROM. It does not perform other forms of checking on
read-only media.
ZenList generates file lists in the second and subsequent
phases of execution. In a single phase, it can at most
generate an all files list and the accompanying new files list.
Depending on the number of file lists required to be created,
the number of phases varies. ZenList will halt only after all
the phases are done.
If you are running on a multi-tasking environment, it is highly
recommended to load SHARE.EXE in order to prevent ZenList from
accessing to the file database when other programs are doing
so. If SHARE.EXE is loaded, and a user is on-line browsing a
particular file area, ZenList will abort with a DOS error when
attempting to access the same area. This a measure to
safeguard your file database from being corrupted. Make a
point to run ZenList only when the file database is not in use.
Page 25
7.1 Tips on improving performance
Because ZenList performs disk intensive operations, it is
highly recommended that you use some form of disk caching
program that also supports write-back buffering. Having
an efficient disk cache can make a great difference on the
amount of time ZenList requires to complete all tasks.
When a file area is already ordered, do not enable sorting
for that area. ZenList performs two kinds of sorting:
during maintenance and when creating file lists. When you
enable the former, the latter will become unnecessary,
since the file database has already been ordered after the
first operation.
Keep a separate file list for CD-ROM areas. As the files
in those areas do not change, it is not necessary to
re-generate them every time.
7.2 Command line switches
Switches can be issued from the command line through the
format : ZENLIST.EXE [switches]
/C<pathname> Full path and name of the alternate
configuration file
/R Include processing of "On request only"
areas
/D Include processing of CD-ROM areas
/L Generate file lists only (no file database
processing)
/M File database processing only
/S Strip headers from file database
/H Display help screen
Page 26
───────────────────────────────────────────────────────────────
8. Credits
═══════════════════════════════════════════════════════════════
Many thanks to all registered users of ZenList. Your
registration has gone a long way in supporting the continued
development of ZenList.
Also thanks to all those who have helped me directly (or
indirectly) and given me valuable suggestions for improving the
software.
Finally, a million thanks to the ZenList beta/support team.
Thanks to you people, for bogging me down with suggestions, bug
reports and giving excellent support for ZenList in Singapore
as well as in the United States!
--------
ZenSetup implements a FrontDoor-style user-interface concept
originally designed by Joaquim Homrighausen. It is used with
permission.
The following product names are copyrighted materials,
trademarks or registered trademarks of their respective
holders:
FidoNet Tom Jennings and Fido Software
FrontDoor Joaquim Homrighausen
RemoteAccess (RA),
RAFILE and RAMGR Wantree Development and Andrew Milner
MS-DOS Microsoft Corporation
IBM, PC-DOS International Business Machines Corp.
Page 27